home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / cdspeed.zip / SPEED.TXT < prev    next >
Text File  |  1992-01-27  |  28KB  |  647 lines

  1.    MSCDEX - Microsoft MS-DOS CD-ROM Extensions Version 2.21
  2.                          Speed Tests
  3.                               
  4.      This document describes the file transfer test program
  5.      CDSPEED. This program characterizes the performance of
  6.      a CD-ROM drive, controller, and device driver.
  7.      
  8. About CDSPEED
  9.  
  10.      CDSPEED, a performance monitoring and evaluation tool,
  11.      measures CPU utilization when transferring data from a
  12.      CD-ROM drive at sustained data transfer rates into main
  13.      memory. CPU utilization is an important measurement
  14.      that indicates:
  15.      
  16.      * the CD-ROM drive's ability to transfer data at
  17.        sustained data transfer rates
  18.        
  19.      * the efficiency of the CD-ROM device driver
  20.       
  21.      * the CPU bandwidth available to process the data after
  22.        a read request and before the next required read operation
  23.        
  24.      CDSPEED is a DOS application. It will not run from
  25.      inside a DOS window when Windows runs in the enhanced
  26.      mode. CDSPEED is intended to be an indicator to assist
  27.      you in evaluating overall system performance. It can
  28.      help identify key areas in the device driver that might
  29.      need to be tuned to optimize performance. By specifying
  30.      the desired sustained transfer rate and data block
  31.      sizes, you can characterize the CD-ROM drive over a
  32.      range of operating conditions. You can have CDSPEED
  33.      display the results in either detailed or terse
  34.      formats.
  35.      
  36. The Need for Speed Tests
  37.  
  38.      Advantages of CD-ROM drives include not only the
  39.      ability to store large volumes of information but also
  40.      the ability to transfer data off the CD at a sustained
  41.      data transfer rate. Transferring data at a sustained
  42.      rate is called data streaming and is measured in the
  43.      number of kilobytes per second transferred. For CD-ROM
  44.      drives, this value is typically 150 kilobytes per
  45.      second.
  46.      
  47.      Many applications, such as those for multimedia, rely
  48.      upon the data stream coming off the disc at a
  49.      guaranteed rate of 150 kilobytes per second. While the
  50.      transfer rate on any one drive is fairly constant, it
  51.      is often less than 150 kilobytes per second; sometimes
  52.      it is much less. If the designers of an application
  53.      decide to support a drive which cannot maintain 150
  54.      kilobytes per second, then they have to decide the
  55.      minimum transfer rate they will support. To
  56.      intelligently select the minimum transfer rate, they
  57.      need information about sustainable transfer rates.
  58.      Therefore the sustainable transfer rate of your drive
  59.      is important information which you should provide to
  60.      your customers.
  61.    
  62. Multimedia PC (MPC) Speed Requirements
  63.  
  64.      You can use the CDSPEED test utility to test your CD-
  65.      ROM drive against the speed requirements for the MPC
  66.      specification. The MPC requirements for CD-ROM drives
  67.      are:
  68.      
  69.        sustained 150 kilobyte/second transfer time
  70.        
  71.        1 second maximum seek time
  72.        
  73.        10,000 hours MTBF
  74.        
  75.        mode 1 capability (mode 2 and form 1 and 2 optional)
  76.        
  77.        subchannel Q (subchannels P and R-W optional)
  78.        
  79.        MSCDEX 2.2 (or greater) driver validated by Microsoft
  80.        
  81.        physical capability of vertical or horizontal
  82.        orientation
  83.        
  84.      The drive must be capable of maintaining a sustained
  85.      transfer rate of 150 kilobytes per second without
  86.      consuming more than 40% of the CPU bandwidth in the
  87.      process. This requirement is for read block sizes of
  88.      between 8 kilobytes and 24 kilobytes and lead time of
  89.      no more than is required to load the CD-ROM buffer with
  90.      1 read block of data. We recommend that the drive have
  91.      on-board buffers of 64 kilobytes and implement read-
  92.      ahead buffering.
  93.      
  94.      For example, the SPEED.XLC file contains an Excel chart
  95.      created from CDSPEED data shows a CD-ROM drive and
  96.      device driver that meets the transfer rate
  97.      specification. For the read block sizes of between 8
  98.      and 24 kilobytes, the 150 KB/sec curve shows a CPU
  99.      utilization of less than 40% utilization.
  100.      
  101. Operating Environment for CDSPEED
  102.  
  103.      Your computer will require the following software to
  104.      run CDSPEED:
  105.      
  106.      * MS-DOS Version 3.31 or higher
  107.       
  108.      * MSCDEX Version 2.20 or higher
  109.       
  110.      * OEM Device Driver for the CD-ROM drive
  111.       
  112. Installing CDSPEED
  113.  
  114.      Install CDSPEED and other related files onto your
  115.      system by copying the distribution disk to your hard
  116.      disk. The following procedure places these files in a
  117.      directory called CDSPEED:
  118.      
  119.     1. From the DOS prompt, enter the following command and
  120.        press ENTER to create the CDSPEED directory on your
  121.        hard disk:
  122.  
  123.            MD \CDSPEED
  124.  
  125.     2. Copy the files from the distribution disk to CDSPEED.
  126.        The following command assumes the distribution disk
  127.        is in drive A and the current drive is a hard disk:
  128.  
  129.            COPY A:*.*   \CDSPEED
  130.  
  131.        The following files are included in this package:
  132.  
  133.            BLKTEST.BAT    Batch file that calls CDSPEED with varying
  134.                           requested block size
  135.  
  136.            CDTEST.BAT     Batch file that calls BLKTEST.BAT with 
  137.                           varying requested transfer rates
  138.  
  139.            CHARTCD1.XLM   Excel 3.0 macro to chart actual
  140.                           transfer rate versus block size and 
  141.                           overall CPU utilization versus block size
  142.  
  143.            CHARTCD2.XLM   Excel 3.0 macro to chart background CPU 
  144.                           utilization versus block size and CPU blocked
  145.                           by readings versus block size
  146.  
  147.            CDSPEED.EXE    Test program
  148.  
  149.            README.TXT     Text file containing the latest information 
  150.                           on CDSPEED
  151.  
  152.     3. Change the current working directory to CDSPEED with
  153.        the following command:
  154.  
  155.            CD \CDSPEED
  156.  
  157. Running CDSPEED
  158.  
  159.      You can run CDSPEED directly from the DOS prompt or
  160.      from the batch files included with CDSPEED. These batch
  161.      files characterize the CD-ROM by running a standard
  162.      series of tests that vary the requested data transfer
  163.      rates and data block sizes for each test. After
  164.      obtaining the initial information from the batch files,
  165.      you might run CDSPEED directly with your selection of
  166.      parameters to further characterize the CD-ROM drive in
  167.      the areas that you are most interested.
  168.      
  169. Running CDSPEED From Batch Files
  170.  
  171.      The batch files CDTEST.BAT and BLKTEST.BAT test a wide
  172.      range of CD ROM performance parameters by successively
  173.      calling CDSPEED.EXE. Test results from the batch files
  174.      are stored in a text file that you specify.
  175.      
  176.      CDTEST.BAT calls the second batch file BLKTEST.BAT
  177.      passing it the requested data transfer rate in
  178.      increments of 30 kilobytes per second. (CDTEST starts
  179.      at 30 kilobytes per second and ends with 150 kilobytes
  180.      per second.) CDTEST also passes the name of the test
  181.      file located on the CD-ROM to BLKTEST.
  182.      
  183.      During execution, BLKTEST.BAT calls CDSPEED.EXE and
  184.      specifies the following command line options:
  185.      
  186.      *  Name of the test file located on the CD ROM
  187.        
  188.      *  Requested transfer rate (ranges in value from 30
  189.         kilobytes per second to 150 kilobytes per second)
  190.        
  191.      *  Requested block size (ranges from 4 kilobytes to 64
  192.         kilobytes)
  193.        
  194.      *  Requested primer size (Matches the requested block
  195.         size)
  196.        
  197.      *  Terse output mode switch
  198.        
  199.      *  Name of the log file
  200.        
  201.      These batch files perform a basic set of tests. To
  202.      perform additional tests, edit the batch files--
  203.      including the appropriate conditions for your tests.
  204.      Or, run CDSPEED directly from the DOS prompt.
  205.      
  206. To run CDSPEED from the batch files:
  207.  
  208.     1. Start at the DOS prompt. If you are running Windows
  209.        in the enhanced mode, exit from the Windows Program
  210.        Manager.  CDSPEED needs a more precise timer than is
  211.        available from the Virtual Timer Device.
  212.  
  213.     2. Type the following command at the DOS prompt and
  214.        press Enter:
  215.  
  216.            CDTEST <FileName> <LogFileName>
  217.  
  218.        Replace <FileName> with the name of the test file to
  219.        be accessed from the CD-ROM drive. Specify a file of
  220.        at least 1.5 megabytes to obtain accurate results.
  221.  
  222.        Also, replace <LogFileName> with the name of a file
  223.        to hold the results of the test.
  224.  
  225.      The following example runs CDSPEED from the batch files
  226.      and specifies the D:\IMMPOST\CNTRL.C00 file as the test
  227.      file accessed by the CD-ROM drive. (If you want to use
  228.      CNTRL.C00 as the test file, it is located on the
  229.      Windows with Multimedia extensions MODK CD-ROM.) The
  230.      example stores test results in the TEST.LOG file
  231.      located in the current working directory. This test
  232.      takes approximately 2-1/2 hours to complete.
  233.      
  234.           CDTEST   D:\IMMPOST\CNTRL.C00   TEST.LOG
  235.      
  236. Running CDSPEED From the DOS Prompt
  237.  
  238.      If you are running Windows in the enhanced mode, exit
  239.      from the Windows Program Manager. CDSPEED needs a more
  240.      precise timer than is available from the Virtual Timer
  241.      Device.
  242.      
  243.      At the DOS prompt, type the following command and press
  244.      Enter.
  245.      
  246.           CDSPEED <FileName> <options>
  247.      
  248.      Replace <FileName> with the name of the test file to be
  249.      accessed from the CD-ROM drive. Specify a file of at
  250.      least 1.5 megabytes to obtain accurate results.
  251.      
  252.      The string <options> represents command line options
  253.      that you can invoke with CDSPEED. To see a list of the
  254.      CDSPEED options, run CDSPEED without using any command
  255.      line arguments--no test file name and no options.
  256.      
  257.      The following list summarizes the command line
  258.      arguments available for CDSPEED:
  259.      
  260.      FileName          Specifies the path and name of file to
  261.                        test. The FileName is
  262.                        required for operation of CDSPEED.
  263.                   
  264.      /r:[TransferRate] Specifies the transfer rate in bytes
  265.                        per second. The transfer rate
  266.                        can range from 1 to 4294967 with a
  267.                        default of 150 kilobytes per
  268.                        second. Use this value to specify the
  269.                        sustained data read rate that
  270.                        might be assumed by an application.
  271.                   
  272.      /b:[BlockSize]    Specifies the number of bytes
  273.                        (BlockSize) read in each read
  274.                        request. BlockSize can range from 1 to
  275.                        65535 bytes with a default
  276.                        of 10 kilobytes.
  277.                   
  278.      /p:[PrimerBytes]    Specifies the number of bytes used 
  279.                          to prime the buffer. This parameter
  280.                          fills a read-ahead buffer before the 
  281.                          transfer rate timing begins. This is 
  282.                          useful when testing transfer rates 
  283.                          approaching the maximum rate available 
  284.                          for CD-ROM drives. The number of bytes
  285.                          range from 0 to 65535 with a default of
  286.                          10 kilobytes.
  287.                   
  288.      /a:[PercentBlocked] Specifies the maximum percentage of read 
  289.                          time interval that CPU should be blocked 
  290.                          to perform the read request of data. Default 
  291.                          is 40%. This value is used for scaling 
  292.                          performance measurements but otherwise has 
  293.                          no effect on actual values returned.
  294.                   
  295.      /t                  Requests terse output. The output is
  296.                          useful for processing and analyzing with 
  297.                          a spreadsheet program. Default is verbose
  298.                          (non-terse) mode output. The order for
  299.                          the terse output data is:
  300.                   
  301.                          <FileName>, <TransferRate>, <BlockSize>,
  302.                          <PrimerBytes>, <%BackgroundCPU>,
  303.                          <TotalBytesRead>, <MeasuredTransferRate>,
  304.                          <%TimeBlockedByRead>, <%OverallUtilization>
  305.                   
  306.                          The following table describes the fields
  307.                          of data returned in the terse mode:
  308.                   
  309.                          Field               Description
  310.                   
  311.                          FileName            Name of the file used
  312.                                              during the test
  313.                   
  314.                          TransferRate        Requested transfer rate
  315.                   
  316.                          BlockSize           Block size used for test
  317.                   
  318.                          PrimerBytes         Number of bytes used to
  319.                                              prime buffer
  320.                   
  321.                         %BackgroundCPU       Percentage of background
  322.                                              CPU time
  323.  
  324.                         TotalBytesRead       Number of bytes read for test
  325.                   
  326.                         MeasuredTransferRate Transfer rate
  327.                                              determined by test
  328.                   
  329.                         %TimeBlockedByRead   Percentage of time
  330.                                              CPU blocked by the actual 
  331.                                              read
  332.                   
  333.                         %OverallUtilization  The overall percent
  334.                                              utilization including
  335.                                              background activity of the
  336.                                              driver
  337.                   
  338.      /?          Displays the list of command line options.
  339.                   
  340.      The values for the /r, /b, and /p switches use bytes as
  341.      the default units. For convenience, you can append k or
  342.      s after the number to indicate other units:
  343.      
  344.           k or K    Kilobytes (1024 bytes)
  345.      
  346.           s or S    Sectors (2 kilobytes)
  347.      
  348.      For example, /p:4s is equal to 8192 bytes (4 x 2048).
  349.      
  350. Reading the Output From CDSPEED
  351.  
  352.      CDSPEED's performance information is displayed on the
  353.      standard output in either a detailed (verbose) or terse
  354.      format. Terse format is suitable for analysis and
  355.      charting using a spreadsheet such as Microsoft Excel.
  356.      The terse format is described with the /t switch of the
  357.      command line options. The verbose mode displays a table
  358.      containing the results of the test. The following
  359.      entries are listed in the table created by CDSPEED:
  360.      
  361.      Returned Value                 Description
  362.      
  363.      Test File Name                 The <FileName> specified.
  364.                          
  365.      Requested Transfer Rate        The <TransferRate> specified
  366.                                     with the /r switch.
  367.                          
  368.      Delay Between Reads            The allowed time between reads to
  369.                                     attain the requested data rate.
  370.                          
  371.      Allowed Percent Block          The maximum percentage of
  372.                                     read interval time the CPU 
  373.                                     should be blocked to perform the 
  374.                                     read request.
  375.                          
  376.      Read Block Size                The <BlockSize> specified with the
  377.                                     /b switch.
  378.                          
  379.      Primer Size                    The <PrimerBytes> specified with
  380.                                     the /p switch.
  381.                          
  382.      Preparing for tests            Status message advising of the
  383.                                     progress of preparation.
  384.                          
  385.      Priming XX kb--waiting YY ms   Status message advising of the progress 
  386.                                     of priming the data buffer.
  387.                          
  388.      Performing transfer rate tests Status message advising
  389.                                     of the progress of the test.
  390.                          
  391.      Total Data Read                The number of bytes read. The
  392.                                     number of kilobytes and sectors 
  393.                                     read are listed in parentheses.
  394.                          
  395.      Total Time Expired             The total elapsed time for the test.
  396.                          
  397.      Reads Exceeding XX ms          The number and percentage of
  398.                                     reads exceeding the
  399.                                     percentage specified for
  400.                                     PercentBlocked; or the
  401.                                     number and percentage of reads
  402.                                     exceeding the read interval.
  403.                          
  404.      Longest Time Blocked by Read   Specifies the longest
  405.                                     time blocked during a read.
  406.                          
  407.      Shortest Time Blocked by Read  Specifies the shortest
  408.                                     time blocked during a read.
  409.                          
  410.      Overall Transfer Rate          The measure transfer rate in
  411.                                     kilobytes per second.
  412.                          
  413.      Percent Time Blocked by Reads  The total percentage of
  414.                                     time the CPU was blocked
  415.                                     by reads.
  416.                          
  417.      Background CPU Usage           The percentage of background CPU
  418.                                     usage.
  419.                          
  420.      Overall CPU Utilization        The overall percentage of CPU
  421.                                     utilization during data streaming.
  422.                          
  423. Using the Results of CDSPEED
  424.  
  425.      Overall CPU utilization is displayed as a percentage of
  426.      total time used per read request. Part of this time is
  427.      the time required for the CPU to service the CD-ROM's
  428.      interrupt requests to keep the read-ahead buffers full.
  429.      Since elapsed time includes time for the overall system
  430.      transfer (such as the DMA transfer rate), performance
  431.      will vary on identical processors on different machines
  432.      with varying DMA hardware, bus clock speeds, and other
  433.      concurrent DMA activity, if any.
  434.      
  435.      CDSPEED determines several characteristics of a CD-ROM
  436.      drive. Based on the results of CDSPEED, you might
  437.      create the following performance curves:
  438.      
  439.      * Transfer rate as a function of block size
  440.       
  441.      * Transfer rate as a function of primer size
  442.       
  443.      * CPU usage (% time blocked) as a function of block size
  444.       
  445.      * CPU usage (% time blocked) as a function of expected
  446.        transfer rate
  447.       
  448.      * CPU usage (% time blocked) as a function of both
  449.        block size and expected transfer rate
  450.       
  451. How CDSPEED Measures the Results
  452.  
  453.      CDSPEED simulates an application that requests data
  454.      from a CD at a user determined sustained data transfer
  455.      rate. CDSPEED divides the read data block size by the
  456.      desired transfer rate to determine the amount of time
  457.      needed to read a data block. This time is called the
  458.      read interval time. (For example, a 150 kilobyte per
  459.      second data transfer rate and 15 kilobyte block size
  460.      yields a read interval time of 100 milliseconds.) The
  461.      CD-ROM system must read a block of data within the read
  462.      interval time for it to maintain the requested data
  463.      rate. Based on the values in the previous example, if a
  464.      CD-ROM system takes exactly 100 milliseconds to
  465.      complete a request, the CPU will not have any time
  466.      available to process the read data before performing
  467.      the next read operation. In this case, the CPU
  468.      utilization is 100%.
  469.      
  470.      At every read interval time unit, CDSPEED issues a data
  471.      read and transfer request and measures the amount of
  472.      time it takes to complete the task. This time is
  473.      measured as time that is blocked. While blocked, the
  474.      CPU can do no other task until the transfer operation
  475.      completes. Because some CD-ROM systems buffer their
  476.      data, the time blocked by reads on these systems can be
  477.      artificially low. In this case, this measurement
  478.      determines the time to read data from the buffer rather
  479.      than the CD-ROM. To account for buffering (and any
  480.      other background CD-ROM operations), CDSPEED also
  481.      determines the background CPU usage.
  482.      
  483.      To determine the background CPU usage, CDSPEED performs
  484.      an internal task prior to performing any CD-ROM reads.
  485.      CDSPEED uses the time it takes to perform this task as
  486.      a baseline measurement. During the read interval period
  487.      after the data read, CDSPEED performs the same task and
  488.      measures the time it takes to complete this operation.
  489.      The baseline measurement is then compared to the
  490.      elapsed time measurement and any difference is
  491.      attributed to the CD-ROM device driver maintaining it's
  492.      fully cached or read-ahead data buffers in the
  493.      background. This difference is the background CPU usage
  494.      measurement.
  495.      
  496.      Note: On the very first read, CDSPEED issues a read
  497.      request for 4 kilobytes of data and then waits for the
  498.      device driver to return. After this read, the device
  499.      driver continues to fill (or prime) its buffer with the
  500.      data and CDSPEED waits for it to complete. Priming the
  501.      buffer compensates for the amount of time it takes for
  502.      the drive to perform an uncached read and seek. After
  503.      priming, the drive should be ready for subsequent reads
  504.      of data blocks from the cached memory buffer and to
  505.      maintain data streaming at the sustained data transfer
  506.      rate.
  507.      
  508.      CDSPEED continues executing read requests at calculated
  509.      time intervals to sustain the specified transfer rate
  510.      until it reaches the end of the test file. It then
  511.      produces the summary results.
  512.      
  513. Error Messages
  514.  
  515.      The following section summarizes the error message
  516.      CDSPEED can display. These error messages are directed
  517.      to the standard error stream. For error handling in
  518.      batch files, each error returns a unique DOS error
  519.      return code. This value is listed with the error
  520.      description.
  521.      
  522.      ** THIS PROGRAM CANNOT BE RUN IN A WINDOWS 3.X DOS VM **
  523.           
  524.           You cannot run CDSPEED in an enhanced mode Windows
  525.           DOS VM. Timers accessed through the Virtual Timer
  526.           Device in enhanced mode Windows do not have enough
  527.           precision to obtain accurate results with CDSPEED.
  528.           DOS error return code: 1
  529.           
  530.      Switch requires ':' separator.
  531.           
  532.           CDSPEED expected a colon ":" between a command
  533.           line switch and the numeric value following it.
  534.           DOS error return code: 2
  535.           
  536.      Memory allocation error.
  537.           
  538.           CDSPEED could not obtain enough memory to make the
  539.           measurement. CDSPEED requests memory based on the
  540.           block size and primer size. Try reducing these
  541.           values if you need to run CDSPEED with limited
  542.           memory.If this cannot be allocated, then you get
  543.           this error. DOS error return code: 3
  544.           
  545.      Memory free error.
  546.           
  547.           CDSPEED could not free the memory it has
  548.           allocated. This message will rarely occur. DOS
  549.           error return code: 4
  550.           
  551.      Read error!
  552.           
  553.           CDSPEED encountered a read error during operation.
  554.           DOS error return code: 5
  555.           
  556.      Unknown arguments on command line.
  557.           
  558.           The command line arguments contain an option
  559.           CDSPEED does not recognize. DOS error return code: 6
  560.           
  561.      No test filename argument supplied.
  562.           
  563.           The command line arguments did not contain a name
  564.           of a data file. CDSPEED uses this file as the
  565.           source of the data it reads during the test. The
  566.           test file should be greater than 1.5 megabytes.
  567.           DOS error return code: 7
  568.           
  569.      More than one test filename argument supplied.
  570.           
  571.           CDSPEED interpreted more than one command line
  572.           argument as a filename. Make sure that all numeric
  573.           arguments have switches and check that spaces are
  574.           not inappropriately placed in the command line.
  575.           For example, check that the name used for the file
  576.           does not contain spaces or the numeric values do
  577.           not contain any spaces. DOS error return code: 8
  578.           
  579.      Can't open specified file.
  580.           
  581.           CDSPEED was unable to open the test file. DOS
  582.           error return code: 9
  583.           
  584.      File is too small for test.
  585.           
  586.           Although 1.5 megabytes is recommended as the
  587.           minimum file size to obtain the best measurement,
  588.           CDSPEED can use smaller files. The smallest file
  589.           CDSPEED can use is 4 kilobytes plus twice the
  590.           blocksize. (CDSPEED uses 4 kilobytes for the
  591.           initial prime. CDSPEED then uses two data blocks
  592.           to obtain an average reading.) DOS error return
  593.           code: 10
  594.           
  595.      Delay value between reads is too small for 1ms timer resolution.
  596.           
  597.           CDSPEED cannot obtain a valid measurement if the
  598.           delay (the ratio of the block size to the transfer
  599.           rate) between reads is less than twice the timer
  600.           resolution. The delay must be greater than 2
  601.           milliseconds. DOS error return code: 11
  602.           
  603.      Delay value between reads is too large.
  604.           
  605.           The delay (the ratio of the block size to the
  606.           transfer rate) between data reads is too large to
  607.           obtain a valid measurement. The delay must be less
  608.           than 10 seconds. DOS error return code: 12
  609.           
  610. Warning Messages
  611.  
  612.      The following section summarizes the warning message
  613.      CDSPEED can display. These messages are directed to the
  614.      standard error stream. All of these messages return 1
  615.      for the DOS error return code.
  616.      
  617.      MSCDEX is not installed.
  618.           
  619.           CDSPEED did not detect MSCDEX which is required
  620.           for operation.
  621.           
  622.      Rate must be > 0 and < 65536, defaulting to 150k bytes/second.
  623.           
  624.           The value specified for the /r:[TransferRate]
  625.           switch is outside the valid limits.
  626.           
  627.      Block size must be > 0 and < 65536 , defaulting to 10k bytes/read.
  628.           
  629.           The value specified for the /b:[BlockSize] switch
  630.           is outside the valid limits.
  631.           
  632.      Primer must be >= 0 and < 65536 , defaulting to 10k bytes/read.
  633.           
  634.           The value specified for the /p:[PrimerBytes]
  635.           switch is outside the valid limits.
  636.           
  637.      Percent blocked must be between 1 and 99 %, defaulting to 40 %.
  638.           
  639.           The value specified for the /a:[PercentBlocked]
  640.           switch is outside the valid limits.
  641.           
  642.      File size should be at least 1.5 megabytes for accurate testing.
  643.           
  644.           For the most reliable results, the test file used
  645.           by CDSPEED should be larger than 1.5 megabytes.
  646.           
  647.